package com.yuanfengerp.customersettlemer.service;

import com.yuanfengerp.customersettlemer.model.CustomerSettlementInfo;
import com.yuanfengerp.customersettlemer.model.CustomerSettlementItemInfo;
import com.yuanfengerp.publicUtil.Result;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

public interface ICustomerSettlementService {
/**
 * 批量删除客户结算信息
 *
 * @param customer_settlement_IDs 一组客户结算ID，用于指定要删除的记录
 * @return 返回操作结果，包含执行结果的详细信息
 */
Result<String> batchdelete(ArrayList<String> customer_settlement_IDs);

/**
 * 批量审核客户结算信息
 *
 * @param customer_settlement_IDs 一组客户结算ID，用于指定要审核的记录
 * @return 返回操作结果，包含执行结果的详细信息
 */
Result<String> batchreview(ArrayList<String> customer_settlement_IDs);

/**
 * 根据主键删除客户结算信息
 *
 * @param customer_settlement_ID 客户结算信息的唯一标识符
 * @return 返回操作结果，包含执行结果的详细信息
 */
Result<String> deleteByPrimaryKey(String customer_settlement_ID);

/**
 * 插入新的客户结算信息
 *
 * @param customerSettlementInfo 包含客户结算信息的对象
 * @return 返回操作结果，包含执行结果的详细信息
 */
Result<String> insertCustomerSettlement(CustomerSettlementInfo customerSettlementInfo);

/**
 * 更新客户结算信息
 *
 * @param customerSettlementInfo 包含更新后客户结算信息的对象
 * @return 返回操作结果，包含执行结果的详细信息
 */
Result<String> updateCustomerSettlement(CustomerSettlementInfo customerSettlementInfo);

/**
 * 查询所有客户结算信息
 *
 * @return 返回包含所有客户结算信息列表的结果对象
 */
Result<List<CustomerSettlementInfo>> selectAllCustomerSettlement();

/**
 * 根据条件查询客户结算信息
 *
 * @param params 包含查询条件的键值对，用于指定查询参数
 * @return 返回符合条件的客户结算信息列表的结果对象
 */
Result<List<CustomerSettlementInfo>> selectCustomerSettlement(Map<String, Object> params);
Result<List<CustomerSettlementInfo>> selectCustomerSettlementItemInfo(String customer_settlement_ID);




}
